/**********************************************************************************************/
// Register.cpp
//
// Register elements
// Copyright Diamant Group 2007
/**********************************************************************************************/
#include "Register.h"


/**********************************************************************************************/
#ifdef _MANAGED
#pragma managed(push, off)
#endif


/**********************************************************************************************/
BOOL APIENTRY DllMain( HMODULE hModule,
					  DWORD  ul_reason_for_call,
					  LPVOID lpReserved
					  )
{
	pInstance = new dgt_Register();

	return TRUE;
}


DGTEXPORT dgt_Plugin* GetPlugin( void )
{
	return pInstance;
}

/**********************************************************************************************/
/**********************************************************************************************/
dgt_Register::dgt_Register()
{

}

/**********************************************************************************************/
dgt_Register::~dgt_Register()
{

}

/**********************************************************************************************/
void dgt_Register::GetPluginInfo( dgt_PluginInfo& t_Info )
{
	t_Info.m_PluginName = _T("Register elements");
	t_Info.m_PluginType = PLUGIN_MEMORY;
	t_Info.m_Description = _T("Abstract description of Register elements");
	t_Info.m_Version = _T("BETA");
}

/**********************************************************************************************/
dgt_Element_Ptr dgt_Register::get_Element(int inNum)
{
	dgt_Element_Ptr tElement;

	switch( inNum )
	{
	case 0:
		{
			tElement.set( new dgt_Generic4_Reg() );
		}
	}

	return tElement;
}

/**********************************************************************************************/
unsigned long dgt_Register::get_ElementCount()
{
	return 1;
}

/**********************************************************************************************/
#ifdef _MANAGED
#pragma managed(pop)
#endif
